package cn.com.yang.egg;

import java.util.ArrayList;
import java.util.List;

/**
 * 杨辉三角
 * @Author 小米电脑
 * @Date 2020/6/24 9:13
 */
public class YangHuiSanJiao {

    public static List<List<Integer>> generate(int numbers){
        if(numbers<=0){
            return new ArrayList<List<Integer>>();
        }
        List<List<Integer>> yhsj=new ArrayList<>();
        build(yhsj,numbers);
        return yhsj;
    }

    private static List<Integer> build(List<List<Integer>> yhsj,int numRows){
        List<Integer> buildRow=new ArrayList<>(numRows);
        if (numRows==1){
            buildRow.add(numRows);
        }else {
            List<Integer> lastBuildRow=build(yhsj,numRows-1);
            //当前行  num[i-1]=yhsj[上一行][i-1-1]+yhsj[上一行][i]
            buildRow.add(1);
            for (int i=0;i<=numRows-2;i++){
                buildRow.add(yhsj.get(numRows-1-1).get(i-1)+yhsj.get(numRows-1-1).get(i));
            }
            buildRow.add(1);
        }
        yhsj.add(buildRow);
        return buildRow;
    }

    /**
     * sout 快速打印
     * psvm 快速main方法
     * @param args
     */
    public static void main(String[] args) {
        List<List<Integer>> list= generate(10);
        list.isEmpty();
        list.forEach(li->{
           li.forEach(integer -> {
               System.out.println(integer);
           });
        });
    }
}
